+Fri Jul 24 18:15:49 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
+Fri Jul 24 18:15:49 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
+Fri Jul 24 18:15:49 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
+Fri Jul 24 18:15:49 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
+Fri Jul 24 18:15:49 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
+Fri Jul 24 18:15:49 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
+Fri Jul 24 18:15:49 1998 Lars Hamann <lars@gtk.org>
+
+ * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
+
Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
g_return_if_fail (clist != 0);
g_return_if_fail (GTK_IS_CLIST (clist));
- if (gdk_pointer_is_grabbed ())
+ if (gdk_pointer_is_grabbed () ||
+ clist->focus_row < 0 || clist->focus_row >= clist->rows)
return;
switch (clist->selection_mode)
clist->undo_selection = NULL;
clist->undo_unselection = NULL;
+ clist->anchor = clist->focus_row;
+ clist->drag_pos = clist->focus_row;
+ clist->undo_anchor = clist->focus_row;
+
if (GTK_CLIST_ADD_MODE (clist))
- {
- clist->anchor = clist->focus_row;
- clist->drag_pos = clist->focus_row;
- clist->undo_anchor = clist->focus_row;
- fake_toggle_row (clist, clist->focus_row);
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
- }
+ fake_toggle_row (clist, clist->focus_row);
else
- {
- clist->anchor = clist->focus_row;
- clist->drag_pos = clist->focus_row;
- clist->undo_anchor = clist->focus_row;
- GTK_CLIST_CLASS_FW (clist)->fake_unselect_all (clist,
- clist->focus_row);
- GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
- }
+ GTK_CLIST_CLASS_FW (clist)->fake_unselect_all (clist,clist->focus_row);
+
+ GTK_CLIST_CLASS_FW (clist)->resync_selection (clist, NULL);
break;
default: